package hyl.core.conf;

import java.util.Locale;
import java.util.Properties;

/**
 * @Description 国际化组件：先建res文件夹 ，在下面再建资源文件:<br>
 *              用于解析外部的local文件 格式：language_语言_国家.properteis
 * @ClassName MyLocal
 * @author zoudy
 * @date 2018年2月8日 下午6:33:13
 * @version V1.0
 */
public class MyLocal {
	private Locale _loc = Locale.getDefault();
	private Properties _rb = null;
	private String _pkg = "local";

	// 通过ResourceBundle工具类绑定资源文件(包名.文件名(基本名称不包括语言部分和后缀部分))
	// res.MessageBundle代表的是我们在src下建立了一个res文件夹，而res文件夹下有一个名为language.properteis的
	// 默认语言文件。
	// 我们允许在此建立多个国际化资源文件： language_语言_国家.properteis language_zh_CN.properties;
	// 默认中文
	/**
	 * 资源文件路径默认在res下面 ，以language***.properteis 格式的文件名
	 */
	public String getPath() {
		StringBuilder sb = new StringBuilder();
		sb.append('/').append(_pkg.replace('.', '/')).append('_').append(_loc.toString()).append(".properties");
		// System.out.println(sb);
		return sb.toString();
	}

	public MyLocal() {
		_rb = MyConfig.getProperties(getPath());
	}

	/**
	 * 资源文件路径默认在res下面 ，以language***.properteis 格式的文件名
	 * 
	 * @param locale
	 */
	public MyLocal(Locale locale) {
		_loc = locale;
		_rb = MyConfig.getProperties(getPath());
	}

	/**
	 * @param pkg    资源文件路径可以自定义
	 * @param locale
	 */
	public MyLocal(String pkg) {
		_pkg = pkg;
		_rb = MyConfig.getProperties(getPath());
	}

	public String get(String key) {
		return _rb.getProperty(key);
	}

	public Locale getLocale() {
		return _loc;
	}
}